package com.kgc.util;

import org.bouncycastle.crypto.digests.SM3Digest;
import org.bouncycastle.util.encoders.Hex;

import java.nio.charset.StandardCharsets;

/**
 * @author :qinya
 * @PackageName:com.kgc.util
 * @ClassName: SM3Util
 * @Description: TODO
 * @date : 2025/5/15,17:18
 */
public class SM3Util {
    /**
     * SM3 哈希计算（返回十六进制字符串）
     *
     * @param data 原始数据
     * @return 哈希结果（64位十六进制字符串）
     */
    public static String hash(String data) {
        byte[] bytes = data.getBytes(StandardCharsets.UTF_8);
        SM3Digest digest = new SM3Digest();
        digest.update(bytes, 0, bytes.length);
        byte[] result = new byte[digest.getDigestSize()];
        digest.doFinal(result, 0);
        return Hex.toHexString(result);
    }
}
